For calculating a Cyclic Redundancy Check (CRC) value for an errorless recording sequence from a playback sequence including errors, the CRC value can be calculated by generating CRC value for the error sequence and performing an exclusive OR operation between CRC value for the playback sequence and CRC value for the error sequence. In case where the error sequence can be obtained only in reversed order with respect to the playback sequence, however, it is necessary to wait for end of error correction processing and then recalculate a CRC value with the playback sequence subjected to the error correction. In this case, it is necessary to retain the playback sequence subjected to the error correction in a buffer for CRC recalculation. This poses a problem that latency (delay time) of data transfer becomes large.